//
//  ImageEdit.h
//  Test_image
//
//  Created by liu wei on 11-11-7.
//  Copyright 2011年 ifeng. All rights reserved.
//

#import <Foundation/Foundation.h>


@interface ImageEdit : NSObject {
  
}

/**
 * @abstract 缩减图片
 * @param image 待缩减的图片
 * @param newSize 目标尺寸
 * @return 裁剪后的图片
 * @updated 20131122
 * @author HouJia
 * @discussion 图片是（newSize.width）经过等比缩放的,配合用户中心头像上传使用
 */
+ (UIImage *) imageWithOriginal:(UIImage*)image scaledToSize:(CGSize) newSize;

/**
 * @abstract 裁图：左上角
 * @seealso baseImageBycllipFromTopAndMiddleForSize:Image:Align:
 * @note Align = 0; 左上角
 */
+ (UIImage*)imageByScalingAndCroppingForSize:(CGSize)targetSize Image:(UIImage *)image;

/**
 * @note 压根没找见哪用了，暂留不杀。
 */
+ (UIImage*)imageByScalingAndCroppingForSizeDetail:(CGSize)targetSize Image:(UIImage *)image;


/**
 * @abstract 截取图片的 左侧、或上方区域部分。及左上角区域
 * @param align 1：横向居中，总想置顶；2：横向、纵向都居中
 * @discussion 非1、2的去左上角
 * @updated by HouJia
 * @updated at 20130517
 * @note 图集列表裁图策略
 */
//+ (UIImage *)baseImageBycllipFromTopAndMiddleForSize:(CGSize)targetSize Image:(UIImage *)image Align:(NSInteger)align;
+(UIImage *)baseImageBycllipFromTopAndMiddleForSize:(CGSize)targetSize Image:(UIImage *)image placeHoldImage:(UIImage *)placeHoldImage Align:(NSInteger)align;

/**
 * @abstract 根据图片的宽、高，和目标区域的宽、高来得到等比例最大的可显示区域
 * @param newWidth image的宽
 * @param newHeight image的高
 * @param newTargerWidth 目标显示区域的宽
 * @param newTargetHeight 目标显示区域的高
 * @note 雷同：imageView.contentMode = UIViewContentModeScaleAspectFit
 * @note by HouJia
 */
+ (CGSize)convertFrameWithWidth:(float)newWidth 
                         Height:(float)newHeight
                    TargetWidth:(float)newTargerWidth
                   TargetHeight:(float)newTargetHeight;


/**
 * @note 用个貌似都是这个
 * @note 下载完成的图，tag为：-1 -2 -4 -20 会用这个方法裁剪
 */
+ (UIImage *)cutImage:(UIImage *)image targetSize:(CGSize)targetImageSize;

/**
 * @abstract
 * @updated by HouJia
 * @updated at 20130517
 * @note 正文底层页的裁图策略
 *
 */
+ (UIImage *)CutsImageForSize :(CGSize)targetSize
                         Image:(UIImage *)URLimage;

/**
 * @note 正文页的东西,与上面类似，只是不裁图
 */
+ (CGRect)ImageForSize:(CGSize)targetSize
                  Image:(UIImage *)URLimage;

+ (UIImage *)CutsGraphicliveImageForSize:(CGSize)targetSize
                                   Image:(UIImage *)URLimages;

+ (UIImage *)scaleImageForSize:(CGSize )targetSize Image:(UIImage *)image;

@end
